//该文件专门用于创建整个应用的路由器
import VueRouter from 'vue-router'

import Home from '../pages/Home'
import News from '../pages/News'
import Message from '../pages/Message'
import Detail from '../pages/Detail'
import About from '../pages/About'



//创建路由器实例
const router = new VueRouter({
  routes: [
    {
      path: '/about',
      name: 'guanyu',
      component: About,
      meta:{
          isAuth: true,
          title: '关于'
      }
    },
    {
      path: '/home',
      name: 'home',
      component: Home,
      meta:{
          title: '主页'
      },
      children: [
        {
          path: 'news',
          name: 'news',
          component: News,
          meta:{
              isAuth: true,
              title: '新闻'
          },
          //独享路由守卫
          /* beforeEnter(to, from, next) {
            // console.log('beforeEnter', to, from)
            if(to.meta.isAuth) {
              if(localStorage.getItem('school') === 'atguigu') {
                  next()
              } else {
                  alert("学校名不对，无权查看,请登录");
              }
            } else {
              //放行
              next()
            }
          } */
        },
        {
          path:'message',
          meta:{
            isAuth: true,
            title: '留言'
          },
          name:'message',   
          component: Message,
          children: [
            {
              path: 'detail/:id/:title',
              name: 'xiangqing',
              component: Detail,
              meta:{
                  isAuth: true,
                  title: '详情'
              },
              //props的第一种写法，值为对象，该对象中的所有key-value都会以props的形式传给Detail组件
            //   props:{a:1,b:2 }
            //props的第二种写法，值为布尔值，若布尔值为真，就会把该路由组件收到的所有params参数，以props的形式传给Detail组件
            // props: true
            //props的第二种写法，值为函数
                props($route) {
                    return {
                        id: $route.params.id,
                        title: $route.params.title 
                    }
                }
            }
          ]
        }
      ]
    },
    
  ]
});
//全局前置路由守卫--初始化的时候被调用，每次路由切换之前被调用
/* router.beforeEach((to, from, next) => {
//   console.log('router.beforeEach', to, from)
  //判断是否需要鉴权
  if(to.meta.isAuth) {
    if(localStorage.getItem('school') === 'atguigu') {
        next()
    } else {
        alert("学校名不对，无权查看,请登录");
    }
  } else {
    //放行
    next()
  }
}) */
//全局后置路由守卫--初始化的时候被调用，每次路由切换之后被调用
/* router.afterEach((to, from) => {
  console.log('router.afterEach', to, from);
  //设置页面标题
  document.title = to.meta.title || '硅谷系统';
}) */
//导出路由器实例
export default router